package com.swanclouds.redfish.managers.domain;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.swanclouds.model.ModelEntity;

public class NtpModel implements ModelEntity {

    @JsonProperty("ServiceEnabled")
    private String serviceEnabled;

    @JsonProperty("AlternateNtpServer")
    private String alternateNtpServer;

    @JsonProperty("PreferredNtpServer")
    private String preferredNtpServer;

    @JsonProperty("ServerAuthenticationEnabled")
    private String serverAuthenticationEnabled;

    @JsonProperty("NTPAddressOrigin")
    private String ntpAddressOrigin;

    @JsonProperty("MinPollingInterval")
    private String minPollingInterval;

    @JsonProperty("MaxPollingInterval")
    private String maxPollingInterval;

    @JsonProperty("DateTime")
    private String dateTime;

    @JsonProperty("TimeZone")
    private String timeZone;

    @JsonProperty("NTPSynchronizationCycleMinutes")
    private String ntpSynchronizationCycleMinutes;

    public static NtpModel builder(){
        return new NtpModel();
    }

    public NtpModel serviceEnabled(String serviceEnabled){
        this.serviceEnabled = serviceEnabled;
        return this;
    }

    public NtpModel alternateNtpServer(String alternateNtpServer){
        this.alternateNtpServer = alternateNtpServer;
        return this;
    }

    public NtpModel preferredNtpServer(String preferredNtpServer){
        this.preferredNtpServer = preferredNtpServer;
        return this;
    }

    public NtpModel serverAuthenticationEnabled(String serverAuthenticationEnabled){
        this.serverAuthenticationEnabled = serverAuthenticationEnabled;
        return this;
    }

    public NtpModel ntpAddressOrigin(String ntpAddressOrigin){
        this.ntpAddressOrigin = ntpAddressOrigin;
        return this;
    }

    public NtpModel minPollingInterval(String minPollingInterval){
        this.minPollingInterval = minPollingInterval;
        return this;
    }

    public NtpModel maxPollingInterval(String maxPollingInterval){
        this.maxPollingInterval = maxPollingInterval;
        return this;
    }

    public NtpModel dateTime(String dateTime){
        this.dateTime = dateTime;
        return this;
    }

    public NtpModel timeZone(String timeZone){
        this.timeZone = timeZone;
        return this;
    }

    public NtpModel ntpSynchronizationCycleMinutes(String ntpSynchronizationCycleMinutes){
        this.ntpSynchronizationCycleMinutes = ntpSynchronizationCycleMinutes;
        return this;
    }

    public String getServiceEnabled() {
        return serviceEnabled;
    }

    public String getAlternateNtpServer() {
        return alternateNtpServer;
    }

    public String getPreferredNtpServer() {
        return preferredNtpServer;
    }

    public String getServerAuthenticationEnabled() {
        return serverAuthenticationEnabled;
    }

    public String getNtpAddressOrigin() {
        return ntpAddressOrigin;
    }

    public String getMinPollingInterval() {
        return minPollingInterval;
    }

    public String getMaxPollingInterval() {
        return maxPollingInterval;
    }

    public String getDateTime() {
        return dateTime;
    }

    public String getTimeZone() {
        return timeZone;
    }

    public String getNtpSynchronizationCycleMinutes() {
        return ntpSynchronizationCycleMinutes;
    }

    @Override
    public String toString() {
        return "NtpModel{" +
                "serviceEnabled='" + serviceEnabled + '\'' +
                ", alternateNtpServer='" + alternateNtpServer + '\'' +
                ", preferredNtpServer='" + preferredNtpServer + '\'' +
                ", serverAuthenticationEnabled='" + serverAuthenticationEnabled + '\'' +
                ", ntpAddressOrigin='" + ntpAddressOrigin + '\'' +
                ", minPollingInterval='" + minPollingInterval + '\'' +
                ", maxPollingInterval='" + maxPollingInterval + '\'' +
                '}';
    }
}
